package com.common;

import java.util.*;

public class ListProcess {
	/*
	 * curpage : 현재 페이지
	 * lpp : line per page = 페이지당 줄수
	 * totalpage : 전체 페이지
	 * list : 페이지를 나눌 리스트 객체
	 */
	public List<Object> createPage(int curpage, int lpp, int totalpage, List<Object> list) {		
		List<Object> temp = new ArrayList<Object>();
		// 시작 부분 인덱스 설정
		int stindex = (curpage * lpp) - lpp;
		int edindex = 0;
		// 끝부분 인덱스가 list의 사이즈보다 크면 list.size로 고정
		if (stindex + lpp >= list.size()) {
			edindex = list.size();
		} else {
			edindex = stindex + lpp;
		}
		// 원본 리스트로부터 시작 인덱스 ~ 끝 인덱스까지 저장된 객체를 불러내 
		// 새로 생성한 임시 리스트에 저장
		for (int i = stindex; i < edindex; i++) {
			Object ob = list.get(i);
			temp.add(ob);
		}
		return temp;
	}
	
	public int getTotalPage(List<Object> list, int lpp){
		int result = list.size() / lpp;
		if(list.size() % 10 > 0){
			result++;
		}
		if(result == 0){
			result = 1;
		}
		return result;
	}
}
